home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / t3_1 / risc_src.lha / risc_sources / xlib / xws6.t < prev    next >
Text File  |  1990-06-01  |  48KB  |  1,094 lines

  1. (HERALD XWS6 (ENV TSYS (XLIB INTERFACE)))
  2.  
  3. (DEFINE-FOREIGN XCLEARWINDOW*
  4.                 ("XClearWindow" (IN REP/C-POINTER) (IN REP/INTEGER))
  5.                 IGNORE)
  6. (DEFINE (XCLEARWINDOW DPY W)
  7.         (LET* ((DPY (CHK-DISPLAYP DPY))
  8.                (W W)
  9.                (RETURN-VALUE (BLOCK (XCLEARWINDOW* DPY W) '())))
  10.               RETURN-VALUE))
  11. (DEFINE-FOREIGN XCLEARAREA*
  12.                 ("XClearArea" (IN REP/C-POINTER)
  13.                               (IN REP/INTEGER)
  14.                               (IN REP/INTEGER)
  15.                               (IN REP/INTEGER)
  16.                               (IN REP/INTEGER)
  17.                               (IN REP/INTEGER)
  18.                               (IN REP/INTEGER))
  19.                 IGNORE)
  20. (DEFINE (XCLEARAREA DPY W X Y WIDTH HEIGHT EXPOSURES)
  21.         (LET* ((DPY (CHK-DISPLAYP DPY))
  22.                (W W)
  23.                (X X)
  24.                (Y Y)
  25.                (WIDTH WIDTH)
  26.                (HEIGHT HEIGHT)
  27.                (EXPOSURES EXPOSURES)
  28.                (RETURN-VALUE (BLOCK (XCLEARAREA* DPY
  29.                                                  W
  30.                                                  X
  31.                                                  Y
  32.                                                  WIDTH
  33.                                                  HEIGHT
  34.                                                  EXPOSURES)
  35.                                     '())))
  36.               RETURN-VALUE))
  37. (DEFINE-FOREIGN XCOPYAREA*
  38.                 ("XCopyArea" (IN REP/C-POINTER)
  39.                              (IN REP/INTEGER)
  40.                              (IN REP/INTEGER)
  41.                              (IN REP/C-POINTER)
  42.                              (IN REP/INTEGER)
  43.                              (IN REP/INTEGER)
  44.                              (IN REP/INTEGER)
  45.                              (IN REP/INTEGER)
  46.                              (IN REP/INTEGER)
  47.                              (IN REP/INTEGER))
  48.                 IGNORE)
  49. (DEFINE (XCOPYAREA DPY
  50.                    SRC_DRAWABLE
  51.                    DST_DRAWABLE
  52.                    GC
  53.                    SRC_X
  54.                    SRC_Y
  55.                    WIDTH
  56.                    HEIGHT
  57.                    DST_X
  58.                    DST_Y)
  59.         (LET* ((DPY (CHK-DISPLAYP DPY))
  60.                (SRC_DRAWABLE SRC_DRAWABLE)
  61.                (DST_DRAWABLE DST_DRAWABLE)
  62.                (GC (CHK-GC GC))
  63.                (SRC_X SRC_X)
  64.                (SRC_Y SRC_Y)
  65.                (WIDTH WIDTH)
  66.                (HEIGHT HEIGHT)
  67.                (DST_X DST_X)
  68.                (DST_Y DST_Y)
  69.                (RETURN-VALUE (BLOCK (XCOPYAREA* DPY
  70.                                                 SRC_DRAWABLE
  71.                                                 DST_DRAWABLE
  72.                                                 GC
  73.                                                 SRC_X
  74.                                                 SRC_Y
  75.                                                 WIDTH
  76.                                                 HEIGHT
  77.                                                 DST_X
  78.                                                 DST_Y)
  79.                                     '())))
  80.               RETURN-VALUE))
  81. (DEFINE-FOREIGN XCOPYPLANE*
  82.                 ("XCopyPlane" (IN REP/C-POINTER)
  83.                               (IN REP/INTEGER)
  84.                               (IN REP/INTEGER)
  85.                               (IN REP/C-POINTER)
  86.                               (IN REP/INTEGER)
  87.                               (IN REP/INTEGER)
  88.                               (IN REP/INTEGER)
  89.                               (IN REP/INTEGER)
  90.                               (IN REP/INTEGER)
  91.                               (IN REP/INTEGER)
  92.                               (IN REP/INTEGER))
  93.                 IGNORE)
  94. (DEFINE (XCOPYPLANE DPY
  95.                     SRC_DRAWABLE
  96.                     DST_DRAWABLE
  97.                     GC
  98.                     SRC_X
  99.                     SRC_Y
  100.                     WIDTH
  101.                     HEIGHT
  102.                     DST_X
  103.                     DST_Y
  104.                     BIT_PLANE)
  105.         (LET* ((DPY (CHK-DISPLAYP DPY))
  106.                (SRC_DRAWABLE SRC_DRAWABLE)
  107.                (DST_DRAWABLE DST_DRAWABLE)
  108.                (GC (CHK-GC GC))
  109.                (SRC_X SRC_X)
  110.                (SRC_Y SRC_Y)
  111.                (WIDTH WIDTH)
  112.                (HEIGHT HEIGHT)
  113.                (DST_X DST_X)
  114.                (DST_Y DST_Y)
  115.                (BIT_PLANE BIT_PLANE)
  116.                (RETURN-VALUE (BLOCK (XCOPYPLANE* DPY
  117.                                                  SRC_DRAWABLE
  118.                                                  DST_DRAWABLE
  119.                                                  GC
  120.                                                  SRC_X
  121.                                                  SRC_Y
  122.                                                  WIDTH
  123.                                                  HEIGHT
  124.                                                  DST_X
  125.                                                  DST_Y
  126.                                                  BIT_PLANE)
  127.                                     '())))
  128.               RETURN-VALUE))
  129. (DEFINE-FOREIGN XDRAWPOINT*
  130.                 ("XDrawPoint" (IN REP/C-POINTER)
  131.                               (IN REP/INTEGER)
  132.                               (IN REP/C-POINTER)
  133.                               (IN REP/INTEGER)
  134.                               (IN REP/INTEGER))
  135.                 IGNORE)
  136. (DEFINE (XDRAWPOINT DPY D GC X Y)
  137.         (LET* ((DPY (CHK-DISPLAYP DPY))
  138.                (D D)
  139.                (GC (CHK-GC GC))
  140.                (X X)
  141.                (Y Y)
  142.                (RETURN-VALUE (BLOCK (XDRAWPOINT* DPY D GC X Y) '())))
  143.               RETURN-VALUE))
  144. (DEFINE-FOREIGN XDRAWPOINTS*
  145.                 ("XDrawPoints" (IN REP/C-POINTER)
  146.                                (IN REP/INTEGER)
  147.                                (IN REP/C-POINTER)
  148.                                (IN REP/C-POINTER)
  149.                                (IN REP/INTEGER)
  150.                                (IN REP/INTEGER))
  151.                 IGNORE)
  152. (DEFINE (XDRAWPOINTS DPY D GC POINTS N_POINTS MODE)
  153.         (LET* ((DPY (CHK-DISPLAYP DPY))
  154.                (D D)
  155.                (GC (CHK-GC GC))
  156.                (POINTS (CHK-XPOINTAP POINTS))
  157.                (N_POINTS N_POINTS)
  158.                (MODE MODE)
  159.                (RETURN-VALUE (BLOCK (XDRAWPOINTS* DPY D GC POINTS N_POINTS MODE)
  160.                                     '())))
  161.               RETURN-VALUE))
  162. (DEFINE-FOREIGN XDRAWLINE*
  163.                 ("XDrawLine" (IN REP/C-POINTER)
  164.                              (IN REP/INTEGER)
  165.                              (IN REP/C-POINTER)
  166.                              (IN REP/INTEGER)
  167.                              (IN REP/INTEGER)
  168.                              (IN REP/INTEGER)
  169.                              (IN REP/INTEGER))
  170.                 IGNORE)
  171. (DEFINE (XDRAWLINE DPY D GC X1 Y1 X2 Y2)
  172.         (LET* ((DPY (CHK-DISPLAYP DPY))
  173.                (D D)
  174.                (GC (CHK-GC GC))
  175.                (X1 X1)
  176.                (Y1 Y1)
  177.                (X2 X2)
  178.                (Y2 Y2)
  179.                (RETURN-VALUE (BLOCK (XDRAWLINE* DPY D GC X1 Y1 X2 Y2)
  180.                                     '())))
  181.               RETURN-VALUE))
  182. (DEFINE-FOREIGN XDRAWLINES*
  183.                 ("XDrawLines" (IN REP/C-POINTER)
  184.                               (IN REP/INTEGER)
  185.                               (IN REP/C-POINTER)
  186.                               (IN REP/C-POINTER)
  187.                               (IN REP/INTEGER)
  188.                               (IN REP/INTEGER))
  189.                 IGNORE)
  190. (DEFINE (XDRAWLINES DPY D GC POINTS NPOINTS MODE)
  191.         (LET* ((DPY (CHK-DISPLAYP DPY))
  192.                (D D)
  193.                (GC (CHK-GC GC))
  194.                (POINTS (CHK-XPOINTAP POINTS))
  195.                (NPOINTS NPOINTS)
  196.                (MODE MODE)
  197.                (RETURN-VALUE (BLOCK (XDRAWLINES* DPY D GC POINTS NPOINTS MODE)
  198.                                     '())))
  199.               RETURN-VALUE))
  200. (DEFINE-FOREIGN XDRAWSEGMENTS*
  201.                 ("XDrawSegments" (IN REP/C-POINTER)
  202.                                  (IN REP/INTEGER)
  203.                                  (IN REP/C-POINTER)
  204.                                  (IN REP/C-POINTER)
  205.                                  (IN REP/INTEGER))
  206.                 IGNORE)
  207. (DEFINE (XDRAWSEGMENTS DPY D GC SEGMENTS NSEGMENTS)
  208.         (LET* ((DPY (CHK-DISPLAYP DPY))
  209.                (D D)
  210.                (GC (CHK-GC GC))
  211.                (SEGMENTS (CHK-XSEGMENTAP SEGMENTS))
  212.                (NSEGMENTS NSEGMENTS)
  213.                (RETURN-VALUE (BLOCK (XDRAWSEGMENTS* DPY D GC SEGMENTS NSEGMENTS)
  214.                                     '())))
  215.               RETURN-VALUE))
  216. (DEFINE-FOREIGN XDRAWRECTANGLE*
  217.                 ("XDrawRectangle" (IN REP/C-POINTER)
  218.                                   (IN REP/INTEGER)
  219.                                   (IN REP/C-POINTER)
  220.                                   (IN REP/INTEGER)
  221.                                   (IN REP/INTEGER)
  222.                                   (IN REP/INTEGER)
  223.                                   (IN REP/INTEGER))
  224.                 IGNORE)
  225. (DEFINE (XDRAWRECTANGLE DPY D GC X Y WIDTH HEIGHT)
  226.         (LET* ((DPY (CHK-DISPLAYP DPY))
  227.                (D D)
  228.                (GC (CHK-GC GC))
  229.                (X X)
  230.                (Y Y)
  231.                (WIDTH WIDTH)
  232.                (HEIGHT HEIGHT)
  233.                (RETURN-VALUE (BLOCK (XDRAWRECTANGLE* DPY D GC X Y WIDTH HEIGHT)
  234.                                     '())))
  235.               RETURN-VALUE))
  236. (DEFINE-FOREIGN XDRAWRECTANGLES*
  237.                 ("XDrawRectangles" (IN REP/C-POINTER)
  238.                                    (IN REP/INTEGER)
  239.                                    (IN REP/C-POINTER)
  240.                                    (IN REP/C-POINTER)
  241.                                    (IN REP/INTEGER))
  242.                 IGNORE)
  243. (DEFINE (XDRAWRECTANGLES DPY D GC RECTS N_RECTS)
  244.         (LET* ((DPY (CHK-DISPLAYP DPY))
  245.                (D D)
  246.                (GC (CHK-GC GC))
  247.                (RECTS (CHK-XRECTANGLEAP RECTS))
  248.                (N_RECTS N_RECTS)
  249.                (RETURN-VALUE (BLOCK (XDRAWRECTANGLES* DPY D GC RECTS N_RECTS)
  250.                                     '())))
  251.               RETURN-VALUE))
  252. (DEFINE-FOREIGN XDRAWARC*
  253.                 ("XDrawArc" (IN REP/C-POINTER)
  254.                             (IN REP/INTEGER)
  255.                             (IN REP/C-POINTER)
  256.                             (IN REP/INTEGER)
  257.                             (IN REP/INTEGER)
  258.                             (IN REP/INTEGER)
  259.                             (IN REP/INTEGER)
  260.                             (IN REP/INTEGER)
  261.                             (IN REP/INTEGER))
  262.                 IGNORE)
  263. (DEFINE (XDRAWARC DPY D GC X Y WIDTH HEIGHT ANGLE1 ANGLE2)
  264.         (LET* ((DPY (CHK-DISPLAYP DPY))
  265.                (D D)
  266.                (GC (CHK-GC GC))
  267.                (X X)
  268.                (Y Y)
  269.                (WIDTH WIDTH)
  270.                (HEIGHT HEIGHT)
  271.                (ANGLE1 ANGLE1)
  272.                (ANGLE2 ANGLE2)
  273.                (RETURN-VALUE (BLOCK (XDRAWARC* DPY
  274.                                                D
  275.                                                GC
  276.                                                X
  277.                                                Y
  278.                                                WIDTH
  279.                                                HEIGHT
  280.                                                ANGLE1
  281.                                                ANGLE2)
  282.                                     '())))
  283.               RETURN-VALUE))
  284. (DEFINE-FOREIGN XDRAWARCS*
  285.                 ("XDrawArcs" (IN REP/C-POINTER)
  286.                              (IN REP/INTEGER)
  287.                              (IN REP/C-POINTER)
  288.                              (IN REP/C-POINTER)
  289.                              (IN REP/INTEGER))
  290.                 IGNORE)
  291. (DEFINE (XDRAWARCS DPY D GC ARCS N_ARCS)
  292.         (LET* ((DPY (CHK-DISPLAYP DPY))
  293.                (D D)
  294.                (GC (CHK-GC GC))
  295.                (ARCS (CHK-XARCAP ARCS))
  296.                (N_ARCS N_ARCS)
  297.                (RETURN-VALUE (BLOCK (XDRAWARCS* DPY D GC ARCS N_ARCS)
  298.                                     '())))
  299.               RETURN-VALUE))
  300. (DEFINE-FOREIGN XFILLRECTANGLE*
  301.                 ("XFillRectangle" (IN REP/C-POINTER)
  302.                                   (IN REP/INTEGER)
  303.                                   (IN REP/C-POINTER)
  304.                                   (IN REP/INTEGER)
  305.                                   (IN REP/INTEGER)
  306.                                   (IN REP/INTEGER)
  307.                                   (IN REP/INTEGER))
  308.                 IGNORE)
  309. (DEFINE (XFILLRECTANGLE DPY D GC X Y WIDTH HEIGHT)
  310.         (LET* ((DPY (CHK-DISPLAYP DPY))
  311.                (D D)
  312.                (GC (CHK-GC GC))
  313.                (X X)
  314.                (Y Y)
  315.                (WIDTH WIDTH)
  316.                (HEIGHT HEIGHT)
  317.                (RETURN-VALUE (BLOCK (XFILLRECTANGLE* DPY D GC X Y WIDTH HEIGHT)
  318.                                     '())))
  319.               RETURN-VALUE))
  320. (DEFINE-FOREIGN XFILLRECTANGLES*
  321.                 ("XFillRectangles" (IN REP/C-POINTER)
  322.                                    (IN REP/INTEGER)
  323.                                    (IN REP/C-POINTER)
  324.                                    (IN REP/C-POINTER)
  325.                                    (IN REP/INTEGER))
  326.                 IGNORE)
  327. (DEFINE (XFILLRECTANGLES DPY D GC RECTANGLES N_RECTS)
  328.         (LET* ((DPY (CHK-DISPLAYP DPY))
  329.                (D D)
  330.                (GC (CHK-GC GC))
  331.                (RECTANGLES (CHK-XRECTANGLEAP RECTANGLES))
  332.                (N_RECTS N_RECTS)
  333.                (RETURN-VALUE (BLOCK (XFILLRECTANGLES* DPY
  334.                                                       D
  335.                                                       GC
  336.                                                       RECTANGLES
  337.                                                       N_RECTS)
  338.                                     '())))
  339.               RETURN-VALUE))
  340. (DEFINE-FOREIGN XFILLPOLYGON*
  341.                 ("XFillPolygon" (IN REP/C-POINTER)
  342.                                 (IN REP/INTEGER)
  343.                                 (IN REP/C-POINTER)
  344.                                 (IN REP/C-POINTER)
  345.                                 (IN REP/INTEGER)
  346.                                 (IN REP/INTEGER)
  347.                                 (IN REP/INTEGER))
  348.                 IGNORE)
  349. (DEFINE (XFILLPOLYGON DPY D GC POINTS N_POINTS SHAPE MODE)
  350.         (LET* ((DPY (CHK-DISPLAYP DPY))
  351.                (D D)
  352.                (GC (CHK-GC GC))
  353.                (POINTS (CHK-XPOINTAP POINTS))
  354.                (N_POINTS N_POINTS)
  355.                (SHAPE SHAPE)
  356.                (MODE MODE)
  357.                (RETURN-VALUE (BLOCK (XFILLPOLYGON* DPY
  358.                                                    D
  359.                                                    GC
  360.                                                    POINTS
  361.                                                    N_POINTS
  362.                                                    SHAPE
  363.                                                    MODE)
  364.                                     '())))
  365.               RETURN-VALUE))
  366. (DEFINE-FOREIGN XFILLARC*
  367.                 ("XFillArc" (IN REP/C-POINTER)
  368.                             (IN REP/INTEGER)
  369.                             (IN REP/C-POINTER)
  370.                             (IN REP/INTEGER)
  371.                             (IN REP/INTEGER)
  372.                             (IN REP/INTEGER)
  373.                             (IN REP/INTEGER)
  374.                             (IN REP/INTEGER)
  375.                             (IN REP/INTEGER))
  376.                 IGNORE)
  377. (DEFINE (XFILLARC DPY D GC X Y WIDTH HEIGHT ANGLE1 ANGLE2)
  378.         (LET* ((DPY (CHK-DISPLAYP DPY))
  379.                (D D)
  380.                (GC (CHK-GC GC))
  381.                (X X)
  382.                (Y Y)
  383.                (WIDTH WIDTH)
  384.                (HEIGHT HEIGHT)
  385.                (ANGLE1 ANGLE1)
  386.                (ANGLE2 ANGLE2)
  387.                (RETURN-VALUE (BLOCK (XFILLARC* DPY
  388.                                                D
  389.                                                GC
  390.                                                X
  391.                                                Y
  392.                                                WIDTH
  393.                                                HEIGHT
  394.                                                ANGLE1
  395.                                                ANGLE2)
  396.                                     '())))
  397.               RETURN-VALUE))
  398. (DEFINE-FOREIGN XFILLARCS*
  399.                 ("XFillArcs" (IN REP/C-POINTER)
  400.                              (IN REP/INTEGER)
  401.                              (IN REP/C-POINTER)
  402.                              (IN REP/C-POINTER)
  403.                              (IN REP/INTEGER))
  404.                 IGNORE)
  405. (DEFINE (XFILLARCS DPY D GC ARCS N_ARCS)
  406.         (LET* ((DPY (CHK-DISPLAYP DPY))
  407.                (D D)
  408.                (GC (CHK-GC GC))
  409.                (ARCS (CHK-XARCAP ARCS))
  410.                (N_ARCS N_ARCS)
  411.                (RETURN-VALUE (BLOCK (XFILLARCS* DPY D GC ARCS N_ARCS)
  412.                                     '())))
  413.               RETURN-VALUE))
  414. (DEFINE-FOREIGN XLOADFONT*
  415.                 ("XLoadFont" (IN REP/C-POINTER) (IN REP/STRING))
  416.                 REP/INTEGER)
  417. (DEFINE (XLOADFONT DPY NAME)
  418.         (LET* ((DPY (CHK-DISPLAYP DPY))
  419.                (NAME (IF (STRING? NAME)
  420.                          (STRING->ASCIZ! NAME)
  421.                          (ERROR "Argument is incorrect type: ~s" NAME)))
  422.                (RETURN-VALUE (XLOADFONT* DPY NAME)))
  423.               RETURN-VALUE))
  424. (DEFINE-FOREIGN XQUERYFONT*
  425.                 ("XQueryFont" (IN REP/C-POINTER) (IN REP/INTEGER))
  426.                 REP/POINTER)
  427. (DEFINE (XQUERYFONT DPY FID)
  428.         (LET* ((DPY (CHK-DISPLAYP DPY))
  429.                (FID FID)
  430.                (RETURN-VALUE (CONS 'XFONTSTRUCTP (XQUERYFONT* DPY FID))))
  431.               RETURN-VALUE))
  432. (DEFINE-FOREIGN XLOADQUERYFONT*
  433.                 ("XLoadQueryFont" (IN REP/C-POINTER) (IN REP/STRING))
  434.                 REP/POINTER)
  435. (DEFINE (XLOADQUERYFONT DPY NAME)
  436.         (LET* ((DPY (CHK-DISPLAYP DPY))
  437.                (NAME (IF (STRING? NAME)
  438.                          (STRING->ASCIZ! NAME)
  439.                          (ERROR "Argument is incorrect type: ~s" NAME)))
  440.                (RETURN-VALUE (CONS 'XFONTSTRUCTP
  441.                                    (XLOADQUERYFONT* DPY NAME))))
  442.               RETURN-VALUE))
  443. (DEFINE-FOREIGN XFREEFONT*
  444.                 ("XFreeFont" (IN REP/C-POINTER) (IN REP/C-POINTER))
  445.                 IGNORE)
  446. (DEFINE (XFREEFONT DPY FS)
  447.         (LET* ((DPY (CHK-DISPLAYP DPY))
  448.                (FS (CHK-XFONTSTRUCTP FS))
  449.                (RETURN-VALUE (BLOCK (XFREEFONT* DPY FS) '())))
  450.               RETURN-VALUE))
  451. (DEFINE-FOREIGN XGETFONTPROPERTY*
  452.                 ("XGetFontProperty" (IN REP/C-POINTER)
  453.                                     (IN REP/INTEGER)
  454.                                     (IN REP/EXTEND))
  455.                 REP/INTEGER)
  456. (DEFINE (XGETFONTPROPERTY FS NAME)
  457.         (LET* ((FS (CHK-XFONTSTRUCTP FS))
  458.                (NAME NAME)
  459.                (VALUEPTR (MAKE-BYTEV 4))
  460.                (RETURN-VALUE (XGETFONTPROPERTY* FS NAME VALUEPTR)))
  461.               (RETURN RETURN-VALUE (MREF-INTEGER VALUEPTR 0))))
  462. (DEFINE-FOREIGN XUNLOADFONT*
  463.                 ("XUnloadFont" (IN REP/C-POINTER) (IN REP/INTEGER))
  464.                 IGNORE)
  465. (DEFINE (XUNLOADFONT DPY FONT)
  466.         (LET* ((DPY (CHK-DISPLAYP DPY))
  467.                (FONT FONT)
  468.                (RETURN-VALUE (BLOCK (XUNLOADFONT* DPY FONT) '())))
  469.               RETURN-VALUE))
  470. (DEFINE-FOREIGN XLISTFONTS*
  471.                 ("XListFonts" (IN REP/C-POINTER)
  472.                               (IN REP/STRING)
  473.                               (IN REP/INTEGER)
  474.                               (IN REP/EXTEND))
  475.                 REP/POINTER)
  476. (DEFINE (XLISTFONTS DPY PATTERN MAXNAMES)
  477.         (LET* ((DPY (CHK-DISPLAYP DPY))
  478.                (PATTERN (IF (STRING? PATTERN)
  479.                             (STRING->ASCIZ! PATTERN)
  480.                             (ERROR "Argument is incorrect type: ~s" PATTERN)))
  481.                (MAXNAMES MAXNAMES)
  482.                (ACTUAL_COUNT (MAKE-BYTEV 4))
  483.                (RETURN-VALUE (CONS 'CHARPAP
  484.                                    (XLISTFONTS* DPY
  485.                                                 PATTERN
  486.                                                 MAXNAMES
  487.                                                 ACTUAL_COUNT))))
  488.               (RETURN RETURN-VALUE (MREF-INTEGER ACTUAL_COUNT 0))))
  489. (DEFINE-FOREIGN XFREEFONTNAMES* ("XFreeFontNames" (IN REP/C-POINTER)) IGNORE)
  490. (DEFINE (XFREEFONTNAMES LIST)
  491.         (LET* ((LIST (CHK-CHARPAP LIST))
  492.                (RETURN-VALUE (BLOCK (XFREEFONTNAMES* LIST) '())))
  493.               RETURN-VALUE))
  494. (DEFINE-FOREIGN XLISTFONTSWITHINFO*
  495.                 ("XListFontsWithInfo" (IN REP/C-POINTER)
  496.                                       (IN REP/STRING)
  497.                                       (IN REP/INTEGER)
  498.                                       (IN REP/EXTEND)
  499.                                       (IN REP/EXTEND))
  500.                 REP/POINTER)
  501. (DEFINE (XLISTFONTSWITHINFO DPY PATTERN MAXNAMES)
  502.         (LET* ((DPY (CHK-DISPLAYP DPY))
  503.                (PATTERN (IF (STRING? PATTERN)
  504.                             (STRING->ASCIZ! PATTERN)
  505.                             (ERROR "Argument is incorrect type: ~s" PATTERN)))
  506.                (MAXNAMES MAXNAMES)
  507.                (ACTUAL_COUNT (MAKE-BYTEV 4))
  508.                (INFO (MAKE-BYTEV 4))
  509.                (RETURN-VALUE (CONS 'CHARPAP
  510.                                    (XLISTFONTSWITHINFO* DPY
  511.                                                         PATTERN
  512.                                                         MAXNAMES
  513.                                                         ACTUAL_COUNT
  514.                                                         INFO))))
  515.               (RETURN RETURN-VALUE
  516.                       (MREF-INTEGER ACTUAL_COUNT 0)
  517.                       (CONS 'XFONTSTRUCTAP (MREF-POINTER INFO 0)))))
  518. (DEFINE-FOREIGN XFREEFONTINFO*
  519.                 ("XFreeFontInfo" (IN REP/C-POINTER)
  520.                                  (IN REP/C-POINTER)
  521.                                  (IN REP/INTEGER))
  522.                 IGNORE)
  523. (DEFINE (XFREEFONTINFO NAMES INFO COUNT)
  524.         (LET* ((NAMES (CHK-CHARPAP NAMES))
  525.                (INFO (CHK-XFONTSTRUCTAP INFO))
  526.                (COUNT COUNT)
  527.                (RETURN-VALUE (BLOCK (XFREEFONTINFO* NAMES INFO COUNT)
  528.                                     '())))
  529.               RETURN-VALUE))
  530. (DEFINE-FOREIGN XSETFONTPATH*
  531.                 ("XSetFontPath" (IN REP/C-POINTER)
  532.                                 (IN REP/C-POINTER)
  533.                                 (IN REP/INTEGER))
  534.                 IGNORE)
  535. (DEFINE (XSETFONTPATH DPY DIRECTORIES NDIRS)
  536.         (LET* ((DPY (CHK-DISPLAYP DPY))
  537.                (DIRECTORIES (CHK-CHARPAP DIRECTORIES))
  538.                (NDIRS NDIRS)
  539.                (RETURN-VALUE (BLOCK (XSETFONTPATH* DPY DIRECTORIES NDIRS)
  540.                                     '())))
  541.               RETURN-VALUE))
  542. (DEFINE-FOREIGN XGETFONTPATH*
  543.                 ("XGetFontPath" (IN REP/C-POINTER) (IN REP/INTEGER))
  544.                 REP/POINTER)
  545. (DEFINE (XGETFONTPATH DPY NPATHS)
  546.         (LET* ((DPY (CHK-DISPLAYP DPY))
  547.                (NPATHS NPATHS)
  548.                (RETURN-VALUE (CONS 'CHARPAP (XGETFONTPATH* DPY NPATHS))))
  549.               RETURN-VALUE))
  550. (DEFINE-FOREIGN XFREEFONTPATH* ("XFreeFontPath" (IN REP/C-POINTER)) REP/POINTER)
  551. (DEFINE (XFREEFONTPATH LIST)
  552.         (LET* ((LIST (CHK-CHARPAP LIST))
  553.                (RETURN-VALUE (CONS 'CHARPAP (XFREEFONTPATH* LIST))))
  554.               RETURN-VALUE))
  555. (DEFINE-FOREIGN XTEXTWIDTH*
  556.                 ("XTextWidth" (IN REP/C-POINTER)
  557.                               (IN REP/STRING)
  558.                               (IN REP/INTEGER))
  559.                 REP/INTEGER)
  560. (DEFINE (XTEXTWIDTH FONTSTRUCT STRING COUNT)
  561.         (LET* ((FONTSTRUCT (CHK-XFONTSTRUCTP FONTSTRUCT))
  562.                (STRING (IF (STRING? STRING)
  563.                            (STRING->ASCIZ! STRING)
  564.                            (ERROR "Argument is incorrect type: ~s" STRING)))
  565.                (COUNT COUNT)
  566.                (RETURN-VALUE (XTEXTWIDTH* FONTSTRUCT STRING COUNT)))
  567.               RETURN-VALUE))
  568. (DEFINE-FOREIGN XTEXTWIDTH16*
  569.                 ("XTextWidth16" (IN REP/C-POINTER)
  570.                                 (IN REP/C-POINTER)
  571.                                 (IN REP/INTEGER))
  572.                 REP/INTEGER)
  573. (DEFINE (XTEXTWIDTH16 FONTSTRUCT STRING COUNT)
  574.         (LET* ((FONTSTRUCT (CHK-XFONTSTRUCTP FONTSTRUCT))
  575.                (STRING (CHK-XCHAR2BAP STRING))
  576.                (COUNT COUNT)
  577.                (RETURN-VALUE (XTEXTWIDTH16* FONTSTRUCT STRING COUNT)))
  578.               RETURN-VALUE))
  579. (DEFINE-FOREIGN XTEXTEXTENTS*
  580.                 ("XTextExtents" (IN REP/C-POINTER)
  581.                                 (IN REP/STRING)
  582.                                 (IN REP/INTEGER)
  583.                                 (IN REP/EXTEND)
  584.                                 (IN REP/EXTEND)
  585.                                 (IN REP/EXTEND)
  586.                                 (IN REP/EXTEND))
  587.                 IGNORE)
  588. (DEFINE (XTEXTEXTENTS FONTSTRUCT STRING NCHARS)
  589.         (LET* ((FONTSTRUCT (CHK-XFONTSTRUCTP FONTSTRUCT))
  590.                (STRING (IF (STRING? STRING)
  591.                            (STRING->ASCIZ! STRING)
  592.                            (ERROR "Argument is incorrect type: ~s" STRING)))
  593.                (NCHARS NCHARS)
  594.                (DIR (MAKE-BYTEV 4))
  595.                (FONT_ASCENT (MAKE-BYTEV 4))
  596.                (FONT_DESCENT (MAKE-BYTEV 4))
  597.                (OVERALL (MAKE-BYTEV 12))
  598.                (RETURN-VALUE (BLOCK (XTEXTEXTENTS* FONTSTRUCT
  599.                                                    STRING
  600.                                                    NCHARS
  601.                                                    DIR
  602.                                                    FONT_ASCENT
  603.                                                    FONT_DESCENT
  604.                                                    OVERALL)
  605.                                     '())))
  606.               (RETURN (MREF-INTEGER DIR 0)
  607.                       (MREF-INTEGER FONT_ASCENT 0)
  608.                       (MREF-INTEGER FONT_DESCENT 0)
  609.                       (CONS 'XCHARSTRUCTP OVERALL))))
  610. (DEFINE-FOREIGN XTEXTEXTENTS16*
  611.                 ("XTextExtents16" (IN REP/C-POINTER)
  612.                                   (IN REP/C-POINTER)
  613.                                   (IN REP/INTEGER)
  614.                                   (IN REP/EXTEND)
  615.                                   (IN REP/EXTEND)
  616.                                   (IN REP/EXTEND)
  617.                                   (IN REP/EXTEND))
  618.                 IGNORE)
  619. (DEFINE (XTEXTEXTENTS16 FONTSTRUCT STRING NCHARS)
  620.         (LET* ((FONTSTRUCT (CHK-XFONTSTRUCTP FONTSTRUCT))
  621.                (STRING (CHK-XCHAR2BAP STRING))
  622.                (NCHARS NCHARS)
  623.                (DIR (MAKE-BYTEV 4))
  624.                (FONT_ASCENT (MAKE-BYTEV 4))
  625.                (FONT_DESCENT (MAKE-BYTEV 4))
  626.                (OVERALL (MAKE-BYTEV 12))
  627.                (RETURN-VALUE (BLOCK (XTEXTEXTENTS16* FONTSTRUCT
  628.                                                      STRING
  629.                                                      NCHARS
  630.                                                      DIR
  631.                                                      FONT_ASCENT
  632.                                                      FONT_DESCENT
  633.                                                      OVERALL)
  634.                                     '())))
  635.               (RETURN (MREF-INTEGER DIR 0)
  636.                       (MREF-INTEGER FONT_ASCENT 0)
  637.                       (MREF-INTEGER FONT_DESCENT 0)
  638.                       (CONS 'XCHARSTRUCTP OVERALL))))
  639. (DEFINE-FOREIGN XQUERYTEXTEXTENTS*
  640.                 ("XQueryTextExtents" (IN REP/C-POINTER)
  641.                                      (IN REP/INTEGER)
  642.                                      (IN REP/STRING)
  643.                                      (IN REP/INTEGER)
  644.                                      (IN REP/EXTEND)
  645.                                      (IN REP/EXTEND)
  646.                                      (IN REP/EXTEND)
  647.                                      (IN REP/EXTEND))
  648.                 IGNORE)
  649. (DEFINE (XQUERYTEXTEXTENTS DPY FID STRING NCHARS)
  650.         (LET* ((DPY (CHK-DISPLAYP DPY))
  651.                (FID FID)
  652.                (STRING (IF (STRING? STRING)
  653.                            (STRING->ASCIZ! STRING)
  654.                            (ERROR "Argument is incorrect type: ~s" STRING)))
  655.                (NCHARS NCHARS)
  656.                (DIR (MAKE-BYTEV 4))
  657.                (FONT_ASCENT (MAKE-BYTEV 4))
  658.                (FONT_DESCENT (MAKE-BYTEV 4))
  659.                (OVERALL (MAKE-BYTEV 12))
  660.                (RETURN-VALUE (BLOCK (XQUERYTEXTEXTENTS* DPY
  661.                                                         FID
  662.                                                         STRING
  663.                                                         NCHARS
  664.                                                         DIR
  665.                                                         FONT_ASCENT
  666.                                                         FONT_DESCENT
  667.                                                         OVERALL)
  668.                                     '())))
  669.               (RETURN (MREF-INTEGER DIR 0)
  670.                       (MREF-INTEGER FONT_ASCENT 0)
  671.                       (MREF-INTEGER FONT_DESCENT 0)
  672.                       (CONS 'XCHARSTRUCTP OVERALL))))
  673. (DEFINE-FOREIGN XQUERYTEXTEXTENTS16*
  674.                 ("XQueryTextExtents16" (IN REP/C-POINTER)
  675.                                        (IN REP/INTEGER)
  676.                                        (IN REP/C-POINTER)
  677.                                        (IN REP/INTEGER)
  678.                                        (IN REP/EXTEND)
  679.                                        (IN REP/EXTEND)
  680.                                        (IN REP/EXTEND)
  681.                                        (IN REP/EXTEND))
  682.                 IGNORE)
  683. (DEFINE (XQUERYTEXTEXTENTS16 DPY FID STRING NCHARS)
  684.         (LET* ((DPY (CHK-DISPLAYP DPY))
  685.                (FID FID)
  686.                (STRING (CHK-XCHAR2BAP STRING))
  687.                (NCHARS NCHARS)
  688.                (DIR (MAKE-BYTEV 4))
  689.                (FONT_ASCENT (MAKE-BYTEV 4))
  690.                (FONT_DESCENT (MAKE-BYTEV 4))
  691.                (OVERALL (MAKE-BYTEV 12))
  692.                (RETURN-VALUE (BLOCK (XQUERYTEXTEXTENTS16* DPY
  693.                                                           FID
  694.                                                           STRING
  695.                                                           NCHARS
  696.                                                           DIR
  697.                                                           FONT_ASCENT
  698.                                                           FONT_DESCENT
  699.                                                           OVERALL)
  700.                                     '())))
  701.               (RETURN (MREF-INTEGER DIR 0)
  702.                       (MREF-INTEGER FONT_ASCENT 0)
  703.                       (MREF-INTEGER FONT_DESCENT 0)
  704.                       (CONS 'XCHARSTRUCTP OVERALL))))
  705. (DEFINE-FOREIGN XDRAWTEXT*
  706.                 ("XDrawText" (IN REP/C-POINTER)
  707.                              (IN REP/INTEGER)
  708.                              (IN REP/C-POINTER)
  709.                              (IN REP/INTEGER)
  710.                              (IN REP/INTEGER)
  711.                              (IN REP/C-POINTER)
  712.                              (IN REP/INTEGER))
  713.                 IGNORE)
  714. (DEFINE (XDRAWTEXT DPY D GC X Y ITEMS NITEMS)
  715.         (LET* ((DPY (CHK-DISPLAYP DPY))
  716.                (D D)
  717.                (GC (CHK-GC GC))
  718.                (X X)
  719.                (Y Y)
  720.                (ITEMS (CHK-XTEXTITEMAP ITEMS))
  721.                (NITEMS NITEMS)
  722.                (RETURN-VALUE (BLOCK (XDRAWTEXT* DPY D GC X Y ITEMS NITEMS)
  723.                                     '())))
  724.               RETURN-VALUE))
  725. (DEFINE-FOREIGN XDRAWTEXT16*
  726.                 ("XDrawText16" (IN REP/C-POINTER)
  727.                                (IN REP/INTEGER)
  728.                                (IN REP/C-POINTER)
  729.                                (IN REP/INTEGER)
  730.                                (IN REP/INTEGER)
  731.                                (IN REP/C-POINTER)
  732.                                (IN REP/INTEGER))
  733.                 IGNORE)
  734. (DEFINE (XDRAWTEXT16 DPY D GC X Y ITEMS NITEMS)
  735.         (LET* ((DPY (CHK-DISPLAYP DPY))
  736.                (D D)
  737.                (GC (CHK-GC GC))
  738.                (X X)
  739.                (Y Y)
  740.                (ITEMS (CHK-XTEXTITEM16P ITEMS))
  741.                (NITEMS NITEMS)
  742.                (RETURN-VALUE (BLOCK (XDRAWTEXT16* DPY D GC X Y ITEMS NITEMS)
  743.                                     '())))
  744.               RETURN-VALUE))
  745. (DEFINE-FOREIGN XDRAWSTRING*
  746.                 ("XDrawString" (IN REP/C-POINTER)
  747.                                (IN REP/INTEGER)
  748.                                (IN REP/C-POINTER)
  749.                                (IN REP/INTEGER)
  750.                                (IN REP/INTEGER)
  751.                                (IN REP/STRING)
  752.                                (IN REP/INTEGER))
  753.                 IGNORE)
  754. (DEFINE (XDRAWSTRING DPY D GC X Y STRING LENGTH)
  755.         (LET* ((DPY (CHK-DISPLAYP DPY))
  756.                (D D)
  757.                (GC (CHK-GC GC))
  758.                (X X)
  759.                (Y Y)
  760.                (STRING (IF (STRING? STRING)
  761.                            (STRING->ASCIZ! STRING)
  762.                            (ERROR "Argument is incorrect type: ~s" STRING)))
  763.                (LENGTH LENGTH)
  764.                (RETURN-VALUE (BLOCK (XDRAWSTRING* DPY D GC X Y STRING LENGTH)
  765.                                     '())))
  766.               RETURN-VALUE))
  767. (DEFINE-FOREIGN XDRAWSTRING16*
  768.                 ("XDrawString16" (IN REP/C-POINTER)
  769.                                  (IN REP/INTEGER)
  770.                                  (IN REP/C-POINTER)
  771.                                  (IN REP/INTEGER)
  772.                                  (IN REP/INTEGER)
  773.                                  (IN REP/C-POINTER)
  774.                                  (IN REP/INTEGER))
  775.                 IGNORE)
  776. (DEFINE (XDRAWSTRING16 DPY D GC X Y STRING LENGTH)
  777.         (LET* ((DPY (CHK-DISPLAYP DPY))
  778.                (D D)
  779.                (GC (CHK-GC GC))
  780.                (X X)
  781.                (Y Y)
  782.                (STRING (CHK-XCHAR2BAP STRING))
  783.                (LENGTH LENGTH)
  784.                (RETURN-VALUE (BLOCK (XDRAWSTRING16* DPY D GC X Y STRING LENGTH)
  785.                                     '())))
  786.               RETURN-VALUE))
  787. (DEFINE-FOREIGN XDRAWIMAGESTRING*
  788.                 ("XDrawImageString" (IN REP/C-POINTER)
  789.                                     (IN REP/INTEGER)
  790.                                     (IN REP/C-POINTER)
  791.                                     (IN REP/INTEGER)
  792.                                     (IN REP/INTEGER)
  793.                                     (IN REP/STRING)
  794.                                     (IN REP/INTEGER))
  795.                 IGNORE)
  796. (DEFINE (XDRAWIMAGESTRING DPY D GC X Y STRING LENGTH)
  797.         (LET* ((DPY (CHK-DISPLAYP DPY))
  798.                (D D)
  799.                (GC (CHK-GC GC))
  800.                (X X)
  801.                (Y Y)
  802.                (STRING (IF (STRING? STRING)
  803.                            (STRING->ASCIZ! STRING)
  804.                            (ERROR "Argument is incorrect type: ~s" STRING)))
  805.                (LENGTH LENGTH)
  806.                (RETURN-VALUE (BLOCK (XDRAWIMAGESTRING* DPY
  807.                                                        D
  808.                                                        GC
  809.                                                        X
  810.                                                        Y
  811.                                                        STRING
  812.                                                        LENGTH)
  813.                                     '())))
  814.               RETURN-VALUE))
  815. (DEFINE-FOREIGN XDRAWIMAGESTRING16*
  816.                 ("XDrawImageString16" (IN REP/C-POINTER)
  817.                                       (IN REP/INTEGER)
  818.                                       (IN REP/C-POINTER)
  819.                                       (IN REP/INTEGER)
  820.                                       (IN REP/INTEGER)
  821.                                       (IN REP/C-POINTER)
  822.                                       (IN REP/INTEGER))
  823.                 IGNORE)
  824. (DEFINE (XDRAWIMAGESTRING16 DPY D GC X Y STRING LENGTH)
  825.         (LET* ((DPY (CHK-DISPLAYP DPY))
  826.                (D D)
  827.                (GC (CHK-GC GC))
  828.                (X X)
  829.                (Y Y)
  830.                (STRING (CHK-XCHAR2BAP STRING))
  831.                (LENGTH LENGTH)
  832.                (RETURN-VALUE (BLOCK (XDRAWIMAGESTRING16* DPY
  833.                                                          D
  834.                                                          GC
  835.                                                          X
  836.                                                          Y
  837.                                                          STRING
  838.                                                          LENGTH)
  839.                                     '())))
  840.               RETURN-VALUE))
  841. (DEFINE-FOREIGN XPUTIMAGE*
  842.                 ("XPutImage" (IN REP/C-POINTER)
  843.                              (IN REP/INTEGER)
  844.                              (IN REP/C-POINTER)
  845.                              (IN REP/C-POINTER)
  846.                              (IN REP/INTEGER)
  847.                              (IN REP/INTEGER)
  848.                              (IN REP/INTEGER)
  849.                              (IN REP/INTEGER)
  850.                              (IN REP/INTEGER)
  851.                              (IN REP/INTEGER))
  852.                 IGNORE)
  853. (DEFINE (XPUTIMAGE DPY
  854.                    D
  855.                    GC
  856.                    IMAGE
  857.                    REQ_XOFFSET
  858.                    REQ_YOFFSET
  859.                    X
  860.                    Y
  861.                    REQ_WIDTH
  862.                    REQ_HEIGHT)
  863.         (LET* ((DPY (CHK-DISPLAYP DPY))
  864.                (D D)
  865.                (GC (CHK-GC GC))
  866.                (IMAGE (CHK-XIMAGEP IMAGE))
  867.                (REQ_XOFFSET REQ_XOFFSET)
  868.                (REQ_YOFFSET REQ_YOFFSET)
  869.                (X X)
  870.                (Y Y)
  871.                (REQ_WIDTH REQ_WIDTH)
  872.                (REQ_HEIGHT REQ_HEIGHT)
  873.                (RETURN-VALUE (BLOCK (XPUTIMAGE* DPY
  874.                                                 D
  875.                                                 GC
  876.                                                 IMAGE
  877.                                                 REQ_XOFFSET
  878.                                                 REQ_YOFFSET
  879.                                                 X
  880.                                                 Y
  881.                                                 REQ_WIDTH
  882.                                                 REQ_HEIGHT)
  883.                                     '())))
  884.               RETURN-VALUE))
  885. (DEFINE-FOREIGN XGETIMAGE*
  886.                 ("XGetImage" (IN REP/C-POINTER)
  887.                              (IN REP/INTEGER)
  888.                              (IN REP/INTEGER)
  889.                              (IN REP/INTEGER)
  890.                              (IN REP/INTEGER)
  891.                              (IN REP/INTEGER)
  892.                              (IN REP/INTEGER)
  893.                              (IN REP/INTEGER))
  894.                 REP/POINTER)
  895. (DEFINE (XGETIMAGE DPY D X Y WIDTH HEIGHT PLANE_MASK FORMAT)
  896.         (LET* ((DPY (CHK-DISPLAYP DPY))
  897.                (D D)
  898.                (X X)
  899.                (Y Y)
  900.                (WIDTH WIDTH)
  901.                (HEIGHT HEIGHT)
  902.                (PLANE_MASK PLANE_MASK)
  903.                (FORMAT FORMAT)
  904.                (RETURN-VALUE (CONS 'XIMAGEP
  905.                                    (XGETIMAGE* DPY
  906.                                                D
  907.                                                X
  908.                                                Y
  909.                                                WIDTH
  910.                                                HEIGHT
  911.                                                PLANE_MASK
  912.                                                FORMAT))))
  913.               RETURN-VALUE))
  914. (DEFINE-FOREIGN XGETSUBIMAGE*
  915.                 ("XGetSubImage" (IN REP/C-POINTER)
  916.                                 (IN REP/INTEGER)
  917.                                 (IN REP/INTEGER)
  918.                                 (IN REP/INTEGER)
  919.                                 (IN REP/INTEGER)
  920.                                 (IN REP/INTEGER)
  921.                                 (IN REP/INTEGER)
  922.                                 (IN REP/INTEGER)
  923.                                 (IN REP/C-POINTER)
  924.                                 (IN REP/INTEGER)
  925.                                 (IN REP/INTEGER))
  926.                 REP/POINTER)
  927. (DEFINE (XGETSUBIMAGE DPY
  928.                       D
  929.                       X
  930.                       Y
  931.                       WIDTH
  932.                       HEIGHT
  933.                       PLANE_MASK
  934.                       FORMAT
  935.                       DEST_IMAGE
  936.                       DEST_X
  937.                       DEST_Y)
  938.         (LET* ((DPY (CHK-DISPLAYP DPY))
  939.                (D D)
  940.                (X X)
  941.                (Y Y)
  942.                (WIDTH WIDTH)
  943.                (HEIGHT HEIGHT)
  944.                (PLANE_MASK PLANE_MASK)
  945.                (FORMAT FORMAT)
  946.                (DEST_IMAGE (CHK-XIMAGEP DEST_IMAGE))
  947.                (DEST_X DEST_X)
  948.                (DEST_Y DEST_Y)
  949.                (RETURN-VALUE (CONS 'XIMAGEP
  950.                                    (XGETSUBIMAGE* DPY
  951.                                                   D
  952.                                                   X
  953.                                                   Y
  954.                                                   WIDTH
  955.                                                   HEIGHT
  956.                                                   PLANE_MASK
  957.                                                   FORMAT
  958.                                                   DEST_IMAGE
  959.                                                   DEST_X
  960.                                                   DEST_Y))))
  961.               RETURN-VALUE))
  962. (DEFINE-FOREIGN XCREATEFONTCURSOR*
  963.                 ("XCreateFontCursor" (IN REP/C-POINTER) (IN REP/INTEGER))
  964.                 REP/INTEGER)
  965. (DEFINE (XCREATEFONTCURSOR DPY WHICH)
  966.         (LET* ((DPY (CHK-DISPLAYP DPY))
  967.                (WHICH WHICH)
  968.                (RETURN-VALUE (XCREATEFONTCURSOR* DPY WHICH)))
  969.               RETURN-VALUE))
  970. (DEFINE-FOREIGN XCREATEPIXMAPCURSOR*
  971.                 ("XCreatePixmapCursor" (IN REP/C-POINTER)
  972.                                        (IN REP/INTEGER)
  973.                                        (IN REP/INTEGER)
  974.                                        (IN REP/C-POINTER)
  975.                                        (IN REP/C-POINTER)
  976.                                        (IN REP/INTEGER)
  977.                                        (IN REP/INTEGER))
  978.                 REP/INTEGER)
  979. (DEFINE (XCREATEPIXMAPCURSOR DPY SOURCE MASK FOREGROUND BACKGROUND X Y)
  980.         (LET* ((DPY (CHK-DISPLAYP DPY))
  981.                (SOURCE SOURCE)
  982.                (MASK MASK)
  983.                (FOREGROUND (CHK-XCOLORP FOREGROUND))
  984.                (BACKGROUND (CHK-XCOLORP BACKGROUND))
  985.                (X X)
  986.                (Y Y)
  987.                (RETURN-VALUE (XCREATEPIXMAPCURSOR* DPY
  988.                                                    SOURCE
  989.                                                    MASK
  990.                                                    FOREGROUND
  991.                                                    BACKGROUND
  992.                                                    X
  993.                                                    Y)))
  994.               RETURN-VALUE))
  995. (DEFINE-FOREIGN XCREATEGLYPHCURSOR*
  996.                 ("XCreateGlyphCursor" (IN REP/C-POINTER)
  997.                                       (IN REP/INTEGER)
  998.                                       (IN REP/INTEGER)
  999.                                       (IN REP/INTEGER)
  1000.                                       (IN REP/INTEGER)
  1001.                                       (IN REP/C-POINTER)
  1002.                                       (IN REP/C-POINTER))
  1003.                 REP/INTEGER)
  1004. (DEFINE (XCREATEGLYPHCURSOR DPY
  1005.                             SOURCE_FONT
  1006.                             MASK_FONT
  1007.                             SOURCE_CHAR
  1008.                             MASK_CHAR
  1009.                             FOREGROUND
  1010.                             BACKGROUND)
  1011.         (LET* ((DPY (CHK-DISPLAYP DPY))
  1012.                (SOURCE_FONT SOURCE_FONT)
  1013.                (MASK_FONT MASK_FONT)
  1014.                (SOURCE_CHAR SOURCE_CHAR)
  1015.                (MASK_CHAR MASK_CHAR)
  1016.                (FOREGROUND (CHK-XCOLORP FOREGROUND))
  1017.                (BACKGROUND (CHK-XCOLORP BACKGROUND))
  1018.                (RETURN-VALUE (XCREATEGLYPHCURSOR* DPY
  1019.                                                   SOURCE_FONT
  1020.                                                   MASK_FONT
  1021.                                                   SOURCE_CHAR
  1022.                                                   MASK_CHAR
  1023.                                                   FOREGROUND
  1024.                                                   BACKGROUND)))
  1025.               RETURN-VALUE))
  1026. (DEFINE-FOREIGN XRECOLORCURSOR*
  1027.                 ("XRecolorCursor" (IN REP/C-POINTER)
  1028.                                   (IN REP/INTEGER)
  1029.                                   (IN REP/C-POINTER)
  1030.                                   (IN REP/C-POINTER))
  1031.                 IGNORE)
  1032. (DEFINE (XRECOLORCURSOR DPY CURSOR FOREGROUND BACKGROUND)
  1033.         (LET* ((DPY (CHK-DISPLAYP DPY))
  1034.                (CURSOR CURSOR)
  1035.                (FOREGROUND (CHK-XCOLORP FOREGROUND))
  1036.                (BACKGROUND (CHK-XCOLORP BACKGROUND))
  1037.                (RETURN-VALUE (BLOCK (XRECOLORCURSOR* DPY
  1038.                                                      CURSOR
  1039.                                                      FOREGROUND
  1040.                                                      BACKGROUND)
  1041.                                     '())))
  1042.               RETURN-VALUE))
  1043. (DEFINE-FOREIGN XFREECURSOR*
  1044.                 ("XFreeCursor" (IN REP/C-POINTER) (IN REP/INTEGER))
  1045.                 IGNORE)
  1046. (DEFINE (XFREECURSOR DPY CURSOR)
  1047.         (LET* ((DPY (CHK-DISPLAYP DPY))
  1048.                (CURSOR CURSOR)
  1049.                (RETURN-VALUE (BLOCK (XFREECURSOR* DPY CURSOR) '())))
  1050.               RETURN-VALUE))
  1051. (DEFINE-FOREIGN XQUERYBESTCURSOR*
  1052.                 ("XQueryBestCursor" (IN REP/C-POINTER)
  1053.                                     (IN REP/INTEGER)
  1054.                                     (IN REP/INTEGER)
  1055.                                     (IN REP/INTEGER)
  1056.                                     (IN REP/EXTEND)
  1057.                                     (IN REP/EXTEND))
  1058.                 REP/INTEGER)
  1059. (DEFINE (XQUERYBESTCURSOR DPY DRAWABLE WIDTH HEIGHT)
  1060.         (LET* ((DPY (CHK-DISPLAYP DPY))
  1061.                (DRAWABLE DRAWABLE)
  1062.                (WIDTH WIDTH)
  1063.                (HEIGHT HEIGHT)
  1064.                (RET_WIDTH (MAKE-BYTEV 4))
  1065.                (RET_HEIGHT (MAKE-BYTEV 4))
  1066.                (RETURN-VALUE (XQUERYBESTCURSOR* DPY
  1067.                                                 DRAWABLE
  1068.                                                 WIDTH
  1069.                                                 HEIGHT
  1070.                                                 RET_WIDTH
  1071.                                                 RET_HEIGHT)))
  1072.               (RETURN RETURN-VALUE
  1073.                       (MREF-INTEGER RET_WIDTH 0)
  1074.                       (MREF-INTEGER RET_HEIGHT 0))))
  1075. (DEFINE-FOREIGN XDEFINECURSOR*
  1076.                 ("XDefineCursor" (IN REP/C-POINTER)
  1077.                                  (IN REP/INTEGER)
  1078.                                  (IN REP/INTEGER))
  1079.                 IGNORE)
  1080. (DEFINE (XDEFINECURSOR DPY W CURSOR)
  1081.         (LET* ((DPY (CHK-DISPLAYP DPY))
  1082.                (W W)
  1083.                (CURSOR CURSOR)
  1084.                (RETURN-VALUE (BLOCK (XDEFINECURSOR* DPY W CURSOR) '())))
  1085.               RETURN-VALUE))
  1086. (DEFINE-FOREIGN XUNDEFINECURSOR*
  1087.                 ("XUndefineCursor" (IN REP/C-POINTER) (IN REP/INTEGER))
  1088.                 IGNORE)
  1089. (DEFINE (XUNDEFINECURSOR DPY W)
  1090.         (LET* ((DPY (CHK-DISPLAYP DPY))
  1091.                (W W)
  1092.                (RETURN-VALUE (BLOCK (XUNDEFINECURSOR* DPY W) '())))
  1093.               RETURN-VALUE))
  1094.